package com.macro.mall.tiny.modules.pms.service;

import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.macro.mall.tiny.dto.PmsProductConditionDTO;
import com.macro.mall.tiny.dto.ProductSaveParamsDTO;
import com.macro.mall.tiny.modules.pms.mapper.PmsProductMapper;
import com.macro.mall.tiny.modules.pms.model.PmsProduct;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 商品信息 服务类
 * </p>
 *
 * @author macro
 * @since 2024-08-15
 */
public interface PmsProductService extends IService<PmsProduct> {

    Page<PmsProduct> list(PmsProductConditionDTO pmsProductConditionDTO);

    boolean updateStatus(List<Long> ids, Integer status, SFunction<PmsProduct, ?> setter);

    boolean create(ProductSaveParamsDTO productSaveParamsDTO);

    ProductSaveParamsDTO getProduct(Long id);

    boolean update(ProductSaveParamsDTO productSaveParamsDTO);
}
